using System;
using System.Collections;
using System.Collections.Generic;

using Atom.Data.Base;

namespace Atom.Data.BusinessObjects
{
    public partial class HLeavehoschargeDetail : BusinessBase<string>
    {
        #region Declarations

		private string _inhosid = String.Empty;
		private int _currentinhosmark = default(Int32);
		private string _detailaccountid = String.Empty;
		private int _cancelmark = default(Int32);
		private string _diagnoseid = null;
		private string _billid = null;
		private string _itemid = String.Empty;
		private decimal _unitprice = default(Decimal);
		private decimal _amount = default(Decimal);
		private decimal _money = default(Decimal);
		private string _billofofficeid = String.Empty;
		private string _execofficeid = String.Empty;
		private string _occurofficeid = null;
		private string _billofdoctorid = null;
		private System.DateTime _operatedate = new DateTime();
		private string _operatorid = String.Empty;
		private string _accountstype = null;
		private decimal _cashdefray = default(Decimal);
		private decimal _accountdefray = default(Decimal);
		private decimal _discountpay = default(Decimal);
		private decimal _lowmoneypay = default(Decimal);
		private string _checkid = null;
		private string _medicaretype = null;
		private System.DateTime _occurdate = new DateTime();
		private string _canceldetailaccountid = String.Empty;
		private int _escapechargemark = default(Int32);
		private string _unitecode = null;
		private string _unitename = null;
		private string _transnumber = null;
		private string _uploadtime = null;
		private decimal? _discountdefray = null;
		
		
		
		#endregion

        #region Constructors

        public HLeavehoschargeDetail() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_inhosid);
			sb.Append(_currentinhosmark);
			sb.Append(_detailaccountid);
			sb.Append(_cancelmark);
			sb.Append(_diagnoseid);
			sb.Append(_billid);
			sb.Append(_itemid);
			sb.Append(_unitprice);
			sb.Append(_amount);
			sb.Append(_money);
			sb.Append(_billofofficeid);
			sb.Append(_execofficeid);
			sb.Append(_occurofficeid);
			sb.Append(_billofdoctorid);
			sb.Append(_operatedate);
			sb.Append(_operatorid);
			sb.Append(_accountstype);
			sb.Append(_cashdefray);
			sb.Append(_accountdefray);
			sb.Append(_discountpay);
			sb.Append(_lowmoneypay);
			sb.Append(_checkid);
			sb.Append(_medicaretype);
			sb.Append(_occurdate);
			sb.Append(_canceldetailaccountid);
			sb.Append(_escapechargemark);
			sb.Append(_unitecode);
			sb.Append(_unitename);
			sb.Append(_transnumber);
			sb.Append(_uploadtime);
			sb.Append(_discountdefray);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public override string Id
		{
			get
			{
				System.Text.StringBuilder uniqueId = new System.Text.StringBuilder();
				uniqueId.Append(_inhosid.ToString());
				uniqueId.Append("^");
				uniqueId.Append(_currentinhosmark.ToString());
				uniqueId.Append("^");
				uniqueId.Append(_detailaccountid.ToString());
				uniqueId.Append("^");
				uniqueId.Append(_cancelmark.ToString());
				return uniqueId.ToString();
			}
		}
		
		public virtual string Inhosid
        {
            get { return _inhosid; }
			set
			{
				OnInhosidChanging();
				_inhosid = value;
				OnInhosidChanged();
			}
        }
		partial void OnInhosidChanging();
		partial void OnInhosidChanged();
		
		public virtual int Currentinhosmark
        {
            get { return _currentinhosmark; }
			set
			{
				OnCurrentinhosmarkChanging();
				_currentinhosmark = value;
				OnCurrentinhosmarkChanged();
			}
        }
		partial void OnCurrentinhosmarkChanging();
		partial void OnCurrentinhosmarkChanged();
		
		public virtual string Detailaccountid
        {
            get { return _detailaccountid; }
			set
			{
				OnDetailaccountidChanging();
				_detailaccountid = value;
				OnDetailaccountidChanged();
			}
        }
		partial void OnDetailaccountidChanging();
		partial void OnDetailaccountidChanged();
		
		public virtual int Cancelmark
        {
            get { return _cancelmark; }
			set
			{
				OnCancelmarkChanging();
				_cancelmark = value;
				OnCancelmarkChanged();
			}
        }
		partial void OnCancelmarkChanging();
		partial void OnCancelmarkChanged();
		
		public virtual string Diagnoseid
        {
            get { return _diagnoseid; }
			set
			{
				OnDiagnoseidChanging();
				_diagnoseid = value;
				OnDiagnoseidChanged();
			}
        }
		partial void OnDiagnoseidChanging();
		partial void OnDiagnoseidChanged();
		
		public virtual string Billid
        {
            get { return _billid; }
			set
			{
				OnBillidChanging();
				_billid = value;
				OnBillidChanged();
			}
        }
		partial void OnBillidChanging();
		partial void OnBillidChanged();
		
		public virtual string Itemid
        {
            get { return _itemid; }
			set
			{
				OnItemidChanging();
				_itemid = value;
				OnItemidChanged();
			}
        }
		partial void OnItemidChanging();
		partial void OnItemidChanged();
		
		public virtual decimal Unitprice
        {
            get { return _unitprice; }
			set
			{
				OnUnitpriceChanging();
				_unitprice = value;
				OnUnitpriceChanged();
			}
        }
		partial void OnUnitpriceChanging();
		partial void OnUnitpriceChanged();
		
		public virtual decimal Amount
        {
            get { return _amount; }
			set
			{
				OnAmountChanging();
				_amount = value;
				OnAmountChanged();
			}
        }
		partial void OnAmountChanging();
		partial void OnAmountChanged();
		
		public virtual decimal Money
        {
            get { return _money; }
			set
			{
				OnMoneyChanging();
				_money = value;
				OnMoneyChanged();
			}
        }
		partial void OnMoneyChanging();
		partial void OnMoneyChanged();
		
		public virtual string Billofofficeid
        {
            get { return _billofofficeid; }
			set
			{
				OnBillofofficeidChanging();
				_billofofficeid = value;
				OnBillofofficeidChanged();
			}
        }
		partial void OnBillofofficeidChanging();
		partial void OnBillofofficeidChanged();
		
		public virtual string Execofficeid
        {
            get { return _execofficeid; }
			set
			{
				OnExecofficeidChanging();
				_execofficeid = value;
				OnExecofficeidChanged();
			}
        }
		partial void OnExecofficeidChanging();
		partial void OnExecofficeidChanged();
		
		public virtual string Occurofficeid
        {
            get { return _occurofficeid; }
			set
			{
				OnOccurofficeidChanging();
				_occurofficeid = value;
				OnOccurofficeidChanged();
			}
        }
		partial void OnOccurofficeidChanging();
		partial void OnOccurofficeidChanged();
		
		public virtual string Billofdoctorid
        {
            get { return _billofdoctorid; }
			set
			{
				OnBillofdoctoridChanging();
				_billofdoctorid = value;
				OnBillofdoctoridChanged();
			}
        }
		partial void OnBillofdoctoridChanging();
		partial void OnBillofdoctoridChanged();
		
		public virtual System.DateTime Operatedate
        {
            get { return _operatedate; }
			set
			{
				OnOperatedateChanging();
				_operatedate = value;
				OnOperatedateChanged();
			}
        }
		partial void OnOperatedateChanging();
		partial void OnOperatedateChanged();
		
		public virtual string Operatorid
        {
            get { return _operatorid; }
			set
			{
				OnOperatoridChanging();
				_operatorid = value;
				OnOperatoridChanged();
			}
        }
		partial void OnOperatoridChanging();
		partial void OnOperatoridChanged();
		
		public virtual string Accountstype
        {
            get { return _accountstype; }
			set
			{
				OnAccountstypeChanging();
				_accountstype = value;
				OnAccountstypeChanged();
			}
        }
		partial void OnAccountstypeChanging();
		partial void OnAccountstypeChanged();
		
		public virtual decimal Cashdefray
        {
            get { return _cashdefray; }
			set
			{
				OnCashdefrayChanging();
				_cashdefray = value;
				OnCashdefrayChanged();
			}
        }
		partial void OnCashdefrayChanging();
		partial void OnCashdefrayChanged();
		
		public virtual decimal Accountdefray
        {
            get { return _accountdefray; }
			set
			{
				OnAccountdefrayChanging();
				_accountdefray = value;
				OnAccountdefrayChanged();
			}
        }
		partial void OnAccountdefrayChanging();
		partial void OnAccountdefrayChanged();
		
		public virtual decimal Discountpay
        {
            get { return _discountpay; }
			set
			{
				OnDiscountpayChanging();
				_discountpay = value;
				OnDiscountpayChanged();
			}
        }
		partial void OnDiscountpayChanging();
		partial void OnDiscountpayChanged();
		
		public virtual decimal Lowmoneypay
        {
            get { return _lowmoneypay; }
			set
			{
				OnLowmoneypayChanging();
				_lowmoneypay = value;
				OnLowmoneypayChanged();
			}
        }
		partial void OnLowmoneypayChanging();
		partial void OnLowmoneypayChanged();
		
		public virtual string Checkid
        {
            get { return _checkid; }
			set
			{
				OnCheckidChanging();
				_checkid = value;
				OnCheckidChanged();
			}
        }
		partial void OnCheckidChanging();
		partial void OnCheckidChanged();
		
		public virtual string Medicaretype
        {
            get { return _medicaretype; }
			set
			{
				OnMedicaretypeChanging();
				_medicaretype = value;
				OnMedicaretypeChanged();
			}
        }
		partial void OnMedicaretypeChanging();
		partial void OnMedicaretypeChanged();
		
		public virtual System.DateTime Occurdate
        {
            get { return _occurdate; }
			set
			{
				OnOccurdateChanging();
				_occurdate = value;
				OnOccurdateChanged();
			}
        }
		partial void OnOccurdateChanging();
		partial void OnOccurdateChanged();
		
		public virtual string Canceldetailaccountid
        {
            get { return _canceldetailaccountid; }
			set
			{
				OnCanceldetailaccountidChanging();
				_canceldetailaccountid = value;
				OnCanceldetailaccountidChanged();
			}
        }
		partial void OnCanceldetailaccountidChanging();
		partial void OnCanceldetailaccountidChanged();
		
		public virtual int Escapechargemark
        {
            get { return _escapechargemark; }
			set
			{
				OnEscapechargemarkChanging();
				_escapechargemark = value;
				OnEscapechargemarkChanged();
			}
        }
		partial void OnEscapechargemarkChanging();
		partial void OnEscapechargemarkChanged();
		
		public virtual string Unitecode
        {
            get { return _unitecode; }
			set
			{
				OnUnitecodeChanging();
				_unitecode = value;
				OnUnitecodeChanged();
			}
        }
		partial void OnUnitecodeChanging();
		partial void OnUnitecodeChanged();
		
		public virtual string Unitename
        {
            get { return _unitename; }
			set
			{
				OnUnitenameChanging();
				_unitename = value;
				OnUnitenameChanged();
			}
        }
		partial void OnUnitenameChanging();
		partial void OnUnitenameChanged();
		
		public virtual string Transnumber
        {
            get { return _transnumber; }
			set
			{
				OnTransnumberChanging();
				_transnumber = value;
				OnTransnumberChanged();
			}
        }
		partial void OnTransnumberChanging();
		partial void OnTransnumberChanged();
		
		public virtual string Uploadtime
        {
            get { return _uploadtime; }
			set
			{
				OnUploadtimeChanging();
				_uploadtime = value;
				OnUploadtimeChanged();
			}
        }
		partial void OnUploadtimeChanging();
		partial void OnUploadtimeChanged();
		
		public virtual decimal? Discountdefray
        {
            get { return _discountdefray; }
			set
			{
				OnDiscountdefrayChanging();
				_discountdefray = value;
				OnDiscountdefrayChanged();
			}
        }
		partial void OnDiscountdefrayChanging();
		partial void OnDiscountdefrayChanged();
		
        #endregion
    }
}
